A flash memory is known as an electrically data-rewritable nonvolatile memory. In recent years, a flash memory of a large capacity has been successfully developed by so forming memory cells as to possess a multiplicity of values, and the storage capacity of the flash memory is becoming comparable to storage capacities of hard disk devices.
In recent years, therefore, it has been proposed to configure a personal computer, a car navigation device and the like by using a multi-value flash memory of a large capacity as a storage medium instead of using a hard disk device that has been used so far.
In an electronic device such as a car navigation device used in an environment of vigorous vibration, use of a flash memory or the like in place of a hard disk device reduces physical crash and provides an advantage of preventing trouble caused by vibration.
As compared with other storage media such as a binary flash memory or a hard disk device, however, the multi-value flash memory has a low data storage (retention) capability and, therefore, is inferior in storing the data for extended periods of time.
If exposed to high temperatures, the flash memory tends to decrease the retention as is widely known. If the frequency of writing increases, further, the flash memory sharply decreases the retention with a given frequency as a boundary. As the frequency of reading the data increases, further, the data held by the memory cells in the flash memory become highly probable to be volatilized.
The multi-value flash memory tends to develop the above problem as compared with the conventional binary flash memories. If the multi-value flash memory is employed as a storage medium in the personal computer, the car navigation device or the like, then it is expected that trouble might occur due to the volatilization of data.
To cope with the volatilization of data, it is known to refresh the data stored in the nonvolatile memory by once reading out the data stored in the nonvolatile memory (flash memory, etc.) and writing the data again (JP 2005-78489A, JP 2006-301993A).
According to this refreshing method, a nonvolatile memory is provided with a circuit for detecting the state of the memory cells to thereby check if refreshing is necessary. Therefore, provision of the circuit increases the cost; i.e., volatilization of data cannot be easily and inexpensively suppressed.
Besides, in order to suppress the effect of a decreased retention caused by the external environment, the data is refreshed at a moment when a physical quantity (temperature, etc.) representing the external environment exceeds a threshold value. To suppress the volatilization of data when, for example, the temperature is high according to the above method, however, the data is refreshed at a moment when the temperature exceeds the threshold value without taking the time of exposure to high temperature into consideration. Therefore, the data cannot be refreshed at a suitable timing (necessary and sufficient timing) at all times.
In the flash memory, in particular, the retention decreases depending upon the frequency of writing. Therefore, the refreshing that is unnecessarily executed shortens the life of the nonvolatile memory (flash memory).